package com.xxx.car.service;

import com.github.pagehelper.PageInfo;
import com.xxx.car.entity.TbInvoice;
import com.xxx.car.entity.vo.request.ReqInvoice;
import com.xxx.car.entity.vo.request.ReqInvoiceAdminQuery;
import com.xxx.car.entity.vo.request.ReqInvoiceQuery;
import com.xxx.car.entity.vo.request.ReqInvoiceUpdate;
import com.xxx.car.entity.vo.response.RespInvoiceDetail;
import com.xxx.common.base.vo.APIResponse;

import java.util.List;

/**
 * Created by youxiaojia on 2017/6/22.
 */
public interface InvoiceService {

    List<TbInvoice> queryInvoiceList(Integer userId);

    APIResponse applyInvoice(ReqInvoice reqInvoice);

    RespInvoiceDetail queryInvoiceDetail(ReqInvoiceQuery reqInvoiceQuery);

    APIResponse updateInvoice(ReqInvoice reqInvoice);

    PageInfo queryInvoiceAdminList(ReqInvoiceAdminQuery reqInvoiceAdminQuery);

    int countCompleteInvoice();

    APIResponse updateInvoiceReply(ReqInvoiceUpdate update);
}
